/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2002-2006 * Sleepycat Software. All rights reserved. * * $Id: LockStats.java,v 1.1 2006/05/06 08:59:25 ckaestne Exp $ */ package com.sleepycat.je; import java.io.Serializable; import com.sleepycat.je.latch.LatchStats; /** * Javadoc for this public class is generated * via the doc templates in the doc_src directory. */ public class LockStats implements Serializable { /** * Total locks currently in lock table. */ private int nTotalLocks; /** * Total read locks currently held. */ private int nReadLocks; /** * Total write locks currently held. */ private int nWriteLocks; /** * Total transactions waiting for locks. */ private int nWaiters; /** * Total lock owners in lock table. */ private int nOwners; /** * Number of times a lock request was made. */ private long nRequests; /** * Number of times a lock request blocked. */ private long nWaits; /** * LockTable latch stats. */ private LatchStats lockTableLatchStats; /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNOwners() { return nOwners; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNReadLocks() { return nReadLocks; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNTotalLocks() { return nTotalLocks; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNWaiters() { return nWaiters; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public int getNWriteLocks() { return nWriteLocks; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getNRequests() { return nRequests; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public long getNWaits() { return nWaits; } /** * Internal use only. */ public void setNOwners(int val) { nOwners = val; } /** * Internal use only. */ public void setNReadLocks(int val) { nReadLocks = val; } /** * Internal use only. */ public void accumulateNTotalLocks(int val) { nTotalLocks += val; } /** * Internal use only. */ public void setNWaiters(int val) { nWaiters = val; } /** * Internal use only. */ public void setNWriteLocks(int val) { nWriteLocks = val; } /** * Internal use only. */ public void setNRequests(long requests) { this.nRequests = requests; } /** * Internal use only. */ public void setNWaits(long waits) { this.nWaits = waits; } /** * Internal use only. */ public void accumulateLockTableLatchStats(LatchStats latchStats) { if (lockTableLatchStats == null) { lockTableLatchStats = latchStats; return; } lockTableLatchStats.nAcquiresNoWaiters += latchStats.nAcquiresNoWaiters; lockTableLatchStats.nAcquiresSelfOwned += latchStats.nAcquiresSelfOwned; lockTableLatchStats.nAcquiresUpgrade += latchStats.nAcquiresUpgrade; lockTableLatchStats.nAcquiresWithContention += latchStats.nAcquiresWithContention; lockTableLatchStats.nAcquireNoWaitSuccessful += latchStats.nAcquireNoWaitSuccessful; lockTableLatchStats.nAcquireNoWaitUnsuccessful += latchStats.nAcquireNoWaitUnsuccessful; lockTableLatchStats.nAcquireSharedSuccessful += latchStats.nAcquireSharedSuccessful; } /** * Javadoc for this public method is generated via * the doc templates in the doc_src directory. */ public String toString() { StringBuffer sb = new StringBuffer(); sb.append("nTotalLocks=").append(nTotalLocks).append('\n'); sb.append("nReadLocks=").append(nReadLocks).append('\n'); sb.append("nWriteLocks=").append(nWriteLocks).append('\n'); sb.append("nWaiters=").append(nWaiters).append('\n'); sb.append("nOwners=").append(nOwners).append('\n'); sb.append("nRequests=").append(nRequests).append('\n'); sb.append("nWaits=").append(nWaits).append('\n'); sb.append("lockTableLatch:\n").append(lockTableLatchStats); return sb.toString(); } }